package com.gitee.ed.arithmetic.leetcode.question.question_1_100.question_1_10;

import com.gitee.ed.arithmetic.leetcode.SolutionRunner;
import com.gitee.ed.arithmetic.leetcode.common.Question;
import com.gitee.ed.arithmetic.leetcode.solution.solution_1_100.solution_1_10.Solution9;

/**
 * @author hongda.li
 */
public class Question9 implements Question<Solution9> {
    @Override
    public String link() {
        return "https://leetcode.cn/problems/palindrome-number/description/";
    }

    @Override
    public String title() {
        return "9.回文数";
    }

    @Override
    public String description() {
        return """
                给你一个整数 x ，如果 x 是一个回文整数，返回 true ；否则，返回 false 。
                回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。
                例如，121 是回文，而 123 不是。
                """;
    }

    @Override
    public void test(Solution9 solution) {
        this.test1(solution);

        this.test2(solution);

        this.test3(solution);
    }

    private void test1(Solution9 solution) {
        SolutionRunner.checkString(true, solution.isPalindrome(121));
    }

    private void test2(Solution9 solution) {
        SolutionRunner.checkString(false, solution.isPalindrome(-121));
    }

    private void test3(Solution9 solution) {
        SolutionRunner.checkString(false, solution.isPalindrome(10));
    }
}
